#include "Arbol.h"

#include <glm\gtc\matrix_transform.hpp>
#include <Bezier.h>


void Arbol::init(const glm::vec3 &DireccionLuz) {
	this->m_copa.init(DireccionLuz, "ShadowTextureShader.vert", "ShadowTextureShader.frag");	/*
	this->m_copa.init(DireccionLuz, "ShadowRealmShader.vert", "ShadowRealmShader.frag");	// */

	this->m_tronco.init(DireccionLuz, "ShadowTextureShader.vert", "ShadowTextureShader.frag");	/*
	this->m_tronco.init(DireccionLuz, "ShadowRealmShader.vert", "ShadowRealmShader.frag");	// */

	this->m_tronco.setMaterial( glm::vec3(0.729f, 0.608f, 0.424f), glm::vec3(0.243f, 0.203f, 0.141f), glm::vec3(0.0f, 0.02f, 0.01f), 1.0f );
	this->m_tronco.setTextura("madera.dds");
}


void Arbol::renderizar(const glm::mat4 &matVista, const glm::mat4 &matProyeccion, const glm::mat4 &matModelo) const {
	glm::mat4 matCopa = glm::translate( matModelo, glm::vec3(0.0f, 0.0f, 3.0f) );
	this->m_copa.renderizar(matVista, matProyeccion, matCopa);

	glm::mat4 matTronco = glm::scale( matModelo, glm::vec3(0.25f, 0.25f, 1.5f) );
	matTronco = glm::translate( matTronco, glm::vec3(0.0f, 0.0f, 1.0f) );
	this->m_tronco.renderizar(matVista, matProyeccion, matTronco);
}


